home *** CD-ROM | disk | FTP | other *** search
-
- /*
- * xr.c - a cross-reference generator
- */
- #include <ctype.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-
- typedef struct listnode listnode;
- struct listnode
- {
- unsigned number;
- listnode *next;
- };
-
- typedef struct treenode treenode;
- struct treenode
- {
- char *word;
- listnode *lines;
- treenode *left, *right;
- };
-
- treenode *addtree(treenode *t, char *w, unsigned n);
- void printtree(treenode *t);
- int getword(char *word, size_t lim);
-
- #define MAXWORD 100
-
- int main(void)
- {
- treenode *root = NULL;
- char word[MAXWORD];
- unsigned lineno = 1;
-
- while (getword(word, MAXWORD) != EOF)
- if (isalpha(word[0]))
- root = addtree(root, word, lineno);
- else if (word[0] == '\n')
- ++lineno;
- printtree(root);
- return 0;
- }
-
-